﻿// 4692. 最佳奖赏.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://www.acwing.com/problem/content/4695/

我们规定 a∼z
 的每个字符都有一定的价值。

对于一个字符串，如果它是一个回文串，那么它的价值就是其各个字符的价值之和，如果它不是一个回文串，那么它的价值就是 0
。

给定一个字符串 S
，请你将其从中间切断，分为两个非空子串，并要求两个子串的价值之和尽可能大。

请你输出两个子串的最大价值和。

输入格式
第一行包含整数 T
，表示共有 T
 组测试数据。

每组数据第一行包含 26
 个整数 v1,v2,…,v26
，表示 a∼z
 的价值。

第二行包含一个由小写字母构成的字符串 S
。

输出格式
每组数据输出一行结果，一个整数，表示最大价值和。

数据范围
1≤T≤10
,
−100≤vi≤100
,
1≤|S|≤5×105
输入样例：
2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
aba
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
acacac
输出样例：
1
6
*/
int main()
{
    std::cout << "Hello World!\n";
}

 